package com.example.bms.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.bms.entity.Score;
import java.util.List;


/**
 * @apiNote 查询学生成绩
 * @author
 * @email 1627856348@qq.com
 * @since 1.0.0
 */
public interface ScoreService {
    /**
     * @apiNote 插入一条成绩
     * @param score 成绩记录
     * @author
     * @email 1627856348@qq.com
     * @return int类型，插入成功返回1，插入失败返回0
     * @since 1.0.0
     */
    int add(Score score);

    /**
     * @apiNote 查询所有学生成绩
     * @author
     * @email 1627856348@qq.com
     * @return List<Score>
     * @since 1.0.0
     */
    List<Score> findAll();

    /**
     * @apiNote 查询所有学生成绩
     * @author
     * @param page 分页
     * @param studentId 学生id
     * @email 1627856348@qq.com
     * @return IPage<Score>
     * @since 1.0.0
     */
    IPage<Score> findById(Page page, Integer studentId);

    /**
     * @apiNote 查询所有学生成绩
     * @param studentId 学生id
     * @author
     * @email 1627856348@qq.com
     * @return List<Score>
     * @since 1.0.0
     */
    List<Score> findById(Integer studentId);

    /**
     * @apiNote 查询每位同学的学科成绩
     * @author
     * @param examCode 考试编号
     * @email 1627856348@qq.com
     * @return  List<Score>
     * @since 1.0.0
     */
    List<Score> findByExamCode(Integer examCode);
}
